// 以二进制的方式对文件进行读写操作
// 打开方式要指定为ios::binary

// 二进制方式写文件主要利用流对象调用成员函数write()，
//  该函数的原型为：
//  void write(const char *buf, streamsize n);
//  参数解释：字符指针buf：要写入的内容
//  streamsize n：要写入的字节数
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

class Person {
   public:
    char name[64];
    int age;
};

void test01() {
    // 1.创建文件输出流对象
    ofstream ofs;
    // 2.打开文件
    ofs.open("person.txt", ios::out | ios::binary);
    // 3.判断文件是否打开成功
    if (!ofs.is_open()) {
        cout << "文件打开失败" << endl;
        return;
    }
    // 4.写数据
    Person p = {"张三", 18};
    ofs.write((const char*)&p, sizeof(Person));
    // 5.关闭文件
    ofs.close();
}
int main() {
    test01();
    system("pause");
    return 0;
}